package 第二章数据类型;

/*
	关于java语言中的整数型:
	数据类型				占用空间大小			默认值         取值范围
	————————————————————————————————————————————————————————————————————
	byte   					1               0           -128 ~  +127
 	Short 					2               0           -32768  ~ +32767
	int  					4               0          -2147483648 ~ 2147483647
	long 					8               0L
	
	1、java中的“整数型字面值”被默认当作int类型处理
		如果要让数据被当作long类型来处理时,需要在“整数型字面值”后面添加l/L,建议使用大写L

	2、java语言中整数型字面值的表达方式:
		第一种:十进制 	是一种缺省默认值
		第二种:八进制	    以0开头
		第三种:十六进制   以0x开头
	
 */
public class DataType04 {
    public static void main(String[] args) {
        int a = 10;      //十进制
        int b = 010;       //八进制
        int c = 0x10;    //十六进制

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(a + b + c);


        //数据类型有自动转换机制,整数型的字面值默认为int类型,当其值超过了int类型时,会自动转换成大容量
        //int i=123时,不存在类型转换
        int i = 123;
        System.out.println(i);
        //456整数型字面值被当作int类型,占用4个字节
        //x的变量被声明为long类型,占用8个字节
        //int类型的字面值456赋值给long类型的x变量,存在类型转换
        //long x=456  ————>	 int x=456
        long x = 456;
        long y = 2147483647;

        //Java中的整数型字面值默认当作int类型处理,超出后会自动类型转换
        //当整数型字面值超出int类型的最大值后,会报错,需要在数字后加L,即把数字当成long类型处理
        long z = 2147483648L;
        System.out.println(z);


    }
}